This invention relates generally to networking systems, and more particularly, to a decentralized network system for networking heterogeneous devices which operates without a physical infrastructure and to a method of managing message exchanges between nodes in a decentralized network system.
The value of networking in business via intranets and for personal use via the Internet is undisputed. Networking enables large numbers of people and equipment to work cooperatively together at multiple locations. Traditional networking involves dedicated servers, workstations and wired transmission media. Wireless communication provides some flexibility in traditional network systems. However, infrared (IR) media requires a clear line-of-sight between transmitter and receiver. Radio frequency (RF) communication avoids line of sight problems, but RF devices have relatively high power consumption, requiring either access to AC power or frequent battery replacement. Traditional networks involve substantial infrastructure, but do not provide for all networking needs.
Devices such as printers, workstations, mobile workstations and other devices are frequently networked using traditional means. However, many pieces of electronic equipment cannot be networked using traditional means; they are either too rudimentary to justify the cost of a network connection or are not compatible with the network protocol. Even those devices that are networked communicate via different protocols, requiring servers to translate and pass on messages and information from such devices.
There is a large volume of information pertaining to electronic devices (e.g., photocopiers, facsimile machines, video conferencing suites), which is not available in a traditional network system. Many of these devices are used infrequently, so users are not familiar with their operation, necessitating access to the device""s manual. Most of the devices have operations manuals that are provided in a hard copy form and ideally located near the device. However, manuals may get lost or xe2x80x9cborrowed,xe2x80x9d or there may be no convenient place to keep them, or they are not available for viewing when needed. While it might be desirable to have all device manuals located on a network, it is generally not considered practical.
In addition to the information available in manuals, there is often a body of informal knowledge associated with complex, old and/or temperamental devices. However, even if this informal information is recorded, it may be stored in someone""s office or on the web but probably not where it is needed, namely next to the device itself.
In a complex work environment, it is common for devices not to function as expected. Depending on the device""s user-interface, such as a printer, it may not be clear why the device is not functioning. If a device does have a problem, the user would like to find possible fixes or alternative working devices or to be able to inform support personnel. Even in the case of a networked printer, the user will not know if other networked printers are available without returning to a workstation or calling and finding the location of a working printer.
In general, devices support specific kinds of tasks in a generic way. Within any given organization, devices tend to be used in ways that are specialized for the organization or for a particular group of people. For example, most phone calls will be to internal numbers. However, apart from specially programmed numbers, the telephones are not equipped to provide this specialization. A common solution is to provide a directory of phone numbers, which will not necessarily be ready-at-hand when the task of reaching someone occurs.
Various unstructured network systems have been developed to satisfy some of the functions not available with a traditional network system. For example, the Locust Swarm (T. Starner, D. Kirsh, S. Assefa, xe2x80x9cThe Locust Swarm: An Environmentally-powered, Networkless Location and Messaging System,xe2x80x9d IEEE International Symposium on Wearable Computing, October 1997) uses solar powered devices positioned in buildings to store annotations and provide location information to users via their wearable computers. The Locust Swarm uses wireless communications to transmit messages from a passing user""s wearable computer to an overhead infrared transceiver. While the Locust Swarm suggests using the individual IR transceivers to transmit messages by downloading to passing users, no method of managing message exchange or implementation is described.
Borovoy, R., Martin, F., Vemuri, S., Resnick, M., Silverman, B., Hancock, C. xe2x80x9cMeme Tags and Community Mirrors: Moving from Conferences to Collaboration,xe2x80x9d in proceedings of CSCW""98, November 1998, Seattle, USA, pp. 159-168, describe a device called a Meme Tag. The Meme Tag allows small textual messages to be passed among users via user-worn badges which communicate via infrared.
In the Factoid Project (http://www.research.digital.com/wrl/projects/Factoid/index.html), a user carries a tiny device that receives very small messages from other similar devices via short-range radio and stores them until they can be downloaded. Whenever the Factoid device comes within range of an Internet connected server, the information is passed on to the server, which uploads the messages to a special database associated with the user. Since the messages are small (on the order of 200 bytes), the Factoid Project contemplates that they are never deleted but will serve as a permanent record of the things that the person has encountered throughout life.
Local area wireless networks have been suggested as alternatives to traditional network systems. For example, Bluetooth (http://www.bluetooth.com/) is working on a short-range (xcx9c10 m) radio based network technology. Bluetooth envisions using this technology to provide networking between many devices both in the home and office, including: components of home-stereo systems, mobile phones and personal digital assistants (PDAs), computer peripherals, and domestic appliances, such as refrigerators (for inventory control and communication), and washing machines (for communicating malfunctions to centralized service).
Another proposed alternative to a traditional network system involves using standard domestic power lines. Domestic power lines is a ubiquitous technology that was tried many years ago. In principle, anything plugged into the power mains can communicate with any other plugged-in device. However, such a network cannot handle communication across anything outside a home or a building and battery-powered or non-electronic devices cannot be easily networked.
There is a need for an inexpensive, decentralized network system for networking large numbers of small electronic devices without a substantial infrastructure. There is a need for a network system that can easily handle battery-powered devices or unpowered devices. There is a need for a network system that avoids the problems of line of sight and high power consumption. There is a need for a network system that can provide information pertaining to specific networked devices at the specific device. There is a need for a network system that can easily store informal information about a device at the device location. There is a need for a method of managing message exchanges in a decentralized network system.
A decentralized network system according to the invention provides for the distribution and collection of information (or messages) without the constraints of a large physical infrastructure. A decentralized network system according to the invention includes a plurality of first nodes, each first node having a memory for storing messages and a communications port for transmitting and receiving messages. Preferably, the first nodes may also include a processor for processing messages in accordance with a predetermined relationship. The first nodes may be attached to some physical device, such as a printer, facsimile, telephone or a book. They may also be attached to a location such as a room, reception area or building or to a mobile object such as child, pet, car, or book. The first node may be an iButton, a miniature computer, battery operated and encased in steel, as manufactured by Dallas Semiconductor. Preferably, the first node""s predetermined relationship stores and deletes messages based on relevance to the device or location to which the first node is attached and based on available memory space in the first node memory.
A plurality of mobile second nodes is also provided. Each second node includes a memory for storing messages, a processor for creating messages in response to user input and for processing messages in accordance with a predetermined relationship and a communications port for transmitting and receiving messages. The mobile second nodes are moved by users, who provide the means for transmitting messages from one first node to another first node. Preferably, each second node is a personal digital assistant (PDA) or wearable computer. Users or administrative software services may create messages, which are first stored in the second node and then downloaded to a first node. Alternatively, messages may be generated by the device or location to which a first node is attached or associated with and stored in the first node. Preferably, the second node""s predetermined relationship stores and deletes messages based on relevance to the anticipated first nodes to which the second node""s user may travel and based on available memory within the second node. The messages carried within nodes of the second kind may be either visible or invisible to the user associated with the second node.
Messages may be stored in the memories of first nodes or second nodes. For example, a user may wish to record a message about a particular device, such as xe2x80x9cthis printer is not workingxe2x80x9d or the user may wish to leave a message for another user at his workstation. Messages pertaining to informal knowledge about the device may also be stored in the first node for ready access by a user. The user first creates the message on his PDA. The user then couples his PDA to the iButton associated with the device or location to which he wishes to store the message. Messages may be transmitted by docking the PDA to the iButton via a receptor or using some other traditional transmission media. If the message pertains to the device, no further transmission is required. Later, users docking with the first node may read the message.
If the message is intended for a different first node or second node, transmission of the message from one node to another node is accomplished through a sequence of message exchanges between pairs of first nodes and second nodes and between pairs of second nodes. This is accomplished by the movement of users carrying a second node and communicating selectively with first nodes.
A message includes both content and information representing the message""s transmission status or state. Transmission status or state may be one of new, in transit, delivered or expired. When a user creates a message, its status is new. Also, when a message is copied, the status of the copy is new. When the message is transferred to any node, not the destination node, its status is in transit. When the message is delivered to the destination node, its status is delivered. Note that destination nodes are either first nodes or second nodes.
Since more than one second node may download the message, several copies of the message may be in existence. This redundancy helps in ensuring that the message is received by the intended node. The first nodes and the second nodes typically have only a limited memory available for the storage of messages. Since some messages (or copies of a message) may not make it to their destination node and to avoid overloading the system with messages, each message will have an expiration date. When a message status is expired, the message may be deleted by any receiving node.
In a preferred embodiment, the decentralized network system will include a third node, which serves a capacity similar to a server in a traditional network. Second nodes may communicate with the third node periodically and download all messages stored in their memories. The third node (also called a hive) stores or archives all such downloaded messages in a master database. The third node may also act as an intelligent communications hub and administrative system. Preferably, each second node maintains a log of the first nodes it has visited since it last made contact with the third node. These logs allow the third node to learn the most probable routes that a given user (and the second node) will take and the nodes that the user (second node) is most likely to visit. This information can be used by the third node to select which second node to give a particular message, thereby optimizing the network throughput and minimizing the number of messages that each individual second node must carry.
The system of the invention can be analogized to the way bees pollinate flowers. In the course of their workday, people move from device to device and from location to location, just as bees move from flower to flower in a field in search of nectar. When a bee visits a flower, it inevitably collects pollen on its body and, when it moves to a different flower, some of this pollen rubs off. Several bees may visit the same flower, in which case pollen from each bee rubs off onto the flower, providing xe2x80x9credundant pollen.xe2x80x9d The movement of the bees is relatively random, but most flowers get pollinated.
In the invention, people (i.e., users) carry an electronic form of pollen (messages) with them, not on their bodies, but inside their wearable computers or PDAs (such as Palm Pilots, Psions, etc.). Devices and spaces can be made pollen-ready by affixing suitably programmed autonomous miniature computers, such as iButtons, to them. Optionally, an organizational memory, referred to as the hive, which may be resident on an organization""s existing traditional network, may be used to provide centralized storage of pollen (information and messages) and a method of controlling the distribution of information. Messages are transmitted from one node to another node by the relative random movement of the second nodes resulting in message exchanges with first nodes.
An important benefit of the invention is that information can be transferred to arbitrary locations without the need for either a physical or a wireless (radio or infrared) infrastructure. The decentralized network system preferably employs very low cost devices such as iButtons, that are durable, have a long life expectancy and can be used either indoors or outdoors, for the first nodes and personal digital assistants for the second nodes. The administration effort required to maintain a decentralized network system is minimal.
The decentralized network system also makes it possible for users with mobile devices to participate in multiple xe2x80x9cvirtual networksxe2x80x9d without reconfiguring firewalls (the standard security measures employed by fixed networks). Unlike wireless networks, the decentralized network system is immune to electronic eavesdropping. First, the range of transmission can be minimized. Transmission of messages between iButtons and PDAs may be accomplished by docking the PDA to the iButton through a receptor. Alternatively, very short range (IR or RF of the range of inches to a few feet) may be used. Additionally, individual first nodes and second nodes can be encrypted so that only specifically encrypted nodes can receive and download messages. This also ensures that there is no crosstalk between the virtual networks.
The decentralized network system makes it possible for information to be shared and distributed where needed simply by the everyday actions of groups of users. The users need not be aware of how the distribution is taking place or of the details of their participation in the process. Information, such as hints, tips and other comments, can be associated with physical objects in the work environment and made easily available to colleagues by storing them in the first nodes (e.g., iButton), ready for reading by a user with a PDA (second node).
In the same way, when a user visits a device, not only can the user leave comments on the associated first node (iButton), but the first node can also transfer messages (created by another user) to the user""s PDA. The messages transmitted to the second node may be either visible or invisible to the user, depending on their relevance to the user. Relevance depends on both the person""s identity and the current context. Users may be notified, for example, about messages addressed specifically to them or pertaining to their current location. When the user next visits another device, the messages stored in the PDA can then be selectively passed along. Through the cumulative actions of many people interacting with many devices in this way, messages are transferred node-by-node across the network.
Not only may electronic devices be networked, but also any physical space or object, such as meeting rooms, offices, and even non-electronic devices such as filing cabinets, bookcases, books may be networked. When a person wishes to use a meeting room that is currently empty, his/her PDA can download information from the meeting room""s iButton informing him/her whether the meeting room is already booked.
The decentralized network system provides another advantage in communication. When a user arrives at a colleague""s office and finds him/her absent, the user can create a pollen message on his/her PDA and then download the pollen onto the colleague""s iButton attached to his/her office. Thus, the user can leave a signed message that only the colleague is able to read (unlike with post-it notes). The user may also download from the colleague""s iButton onto the user""s PDA any pollen pertaining to information available concerning the colleague""s whereabouts and schedule.
When a hive or third node is included as part of the decentralized network system, the hive acts as an organizational memory tracking the expiration dates of the messages stored in it. When a message xe2x80x9cexpiresxe2x80x9d or becomes obsolete, the organizational memory can transfer commands to a docked PDA (second node) instructing it to delete the particular message when the user""s PDA next encounters the specified first node. If no hive is present, any first node or second node may delete an expired message resident in its memory. An organizational memory or hive also allows users to obtain an overall view of the messages/information in the decentralized network system and to centrally update this information, for example, to produce new manuals or Frequently Asked Question (FAQs) lists to be associated with particular devices, or to perform distributed diagnosis.
In some decentralized network systems, it may be appropriate to provide more than one hive. Different organizational memories, or hives, could handle different classes of information with different propagation characteristics. For example one organizational memory might only handle local site information while another might handle company-wide information.
To facilitate transfer of message in the decentralized network system, each first node and each second node (and the third node, if present) must operate in accordance with a predetermined method or process of creating, storing and handling messages. The methods are preferably implemented, in a preferred embodiment of the invention, as an application program or a cooperative set of application programs executed on the first nodes, the second nodes and the hive, if a hive is present in the system.